package Controller;

import Beans.*;
import DAO.*;
import DTO.*;
import Model.*;

public  class AdministradorReceta {
	private static AdministradorReceta instancia;
	private AdministradorReceta(){
		
	}
	
	public static AdministradorReceta getInstancia(){
		if(instancia==null)
			instancia=new AdministradorReceta();
		return instancia;
	}
	
	public void grabarReceta(RecetaBean receta){
		HibernateRecetaDAO.getInstancia().grabarReceta(receta);
	}
	

	public RecetaBean fromModelTOBean(Receta receta) {
		RecetaBean recetaBean=null;
		if(receta!=null){
		recetaBean=new RecetaBean();
		recetaBean.setId(receta.getId());
		recetaBean.setNombre(receta.getNombre());
		recetaBean.setItemsReceta(AdministradorItemReceta.getInstancia().fromModelTOBean(receta.getItemsReceta()));
		}
		return recetaBean;
	}

	public Receta fromDTOTOModel(RecetaDTO recetaDTO) {
		Receta receta=null;
		if(recetaDTO!=null){
		receta=new Receta();
		receta.setId(recetaDTO.getId());
		receta.setNombre(recetaDTO.getNombre());
		receta.setItemsReceta(AdministradorItemReceta.getInstancia().fromDTOTOModel(recetaDTO.getItemsReceta()));
		}
		return receta;
	}
	
	public RecetaDTO fromModelTODTO(Receta receta) {
		RecetaDTO recetaDTO=null;
		if(receta!=null){
			recetaDTO=new RecetaDTO();
			recetaDTO.setId(receta.getId());
			recetaDTO.setNombre(receta.getNombre());
			recetaDTO.setItemsReceta(AdministradorItemReceta.getInstancia().fromModelTODTO(receta.getItemsReceta()));
		}
		return recetaDTO;
	}

	public Receta fromBeanTOModel(RecetaBean recetaBean) {
		Receta receta=null;
		if(recetaBean!=null){
		receta=new Receta();
		receta.setId(recetaBean.getId());
		receta.setNombre(recetaBean.getNombre());
		receta.setItemsReceta(AdministradorItemReceta.getInstancia().fromBeanTOModel(recetaBean.getItemsReceta()));
		}
		return receta;
	}

	public Receta buscarReceta(Receta r) {
		RecetaBean recetab=fromModelTOBean(r);
		recetab= HibernateRecetaDAO.getInstancia().buscarReceta(recetab);
		return fromBeanTOModel(recetab);
	}
}
